

/*
 * Visualizador.java
 *
 * Created on 24/04/2010, 00:28:43
 */

package judlawei.gui;

import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;

import judlaw.model.bean.docjud.DocumentoJuridico;
import judlawei.dbmanager.DocJudDB;

/**
 * 
 * @author Aislan M. de Lima
 */
public class Visualizador extends JFrame {

    
    private EditorAtributos editorAtributos;
    private JLabel documentos;
    private JScrollPane visualizadorDocumentos;   
    private JList selecionadorDeArquivo;
    private DocJudDB docJudDB;
    
    /** Creates new form Visualizador */
    public Visualizador() {
        docJudDB = new DocJudDB();
        initComponents();
        construirLayout();
        inicializarListeners();
        
    }

    private void initComponents() {

        
        
        visualizadorDocumentos = new JScrollPane();

        editorAtributos = new EditorAtributos();        
        documentos = new JLabel();
        
        
        selecionadorDeArquivo = new SelecionadorDocumentos((ArrayList<DocumentoJuridico>) docJudDB.getListaDocumentos());        
        documentos.setText("Documentos");        
        setTitle("Visualizar Documeto");
        
        
        visualizadorDocumentos.setViewportView(selecionadorDeArquivo);

        editorAtributos.setBorder(PaginaPrincipal.criaTitledBorder("Atributos"));
       

    }

    private void construirLayout(){
        GroupLayout layout = new GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(
                GroupLayout.Alignment.LEADING).addGroup(
                layout.createSequentialGroup().addContainerGap().addGroup(
                        layout.createParallelGroup(
                                GroupLayout.Alignment.LEADING, false)
                                .addComponent(documentos,
                                        GroupLayout.DEFAULT_SIZE,
                                        GroupLayout.DEFAULT_SIZE,
                                        Short.MAX_VALUE).addComponent(
                                        visualizadorDocumentos, GroupLayout.DEFAULT_SIZE,
                                        112, Short.MAX_VALUE)).addGap(18, 18,
                        18).addComponent(editorAtributos,
                        GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
                        Short.MAX_VALUE).addContainerGap()));
        layout.setVerticalGroup(layout.createParallelGroup(
                GroupLayout.Alignment.LEADING).addGroup(
                layout.createSequentialGroup().addContainerGap().addGroup(
                        layout.createParallelGroup(
                                GroupLayout.Alignment.LEADING).addGroup(
                                layout.createSequentialGroup().addComponent(
                                        documentos, GroupLayout.PREFERRED_SIZE,
                                        25, GroupLayout.PREFERRED_SIZE).addGap(
                                        18, 18, 18).addComponent(visualizadorDocumentos,
                                        GroupLayout.PREFERRED_SIZE,
                                        GroupLayout.DEFAULT_SIZE,
                                        GroupLayout.PREFERRED_SIZE))
                                .addComponent(editorAtributos,
                                        GroupLayout.DEFAULT_SIZE,
                                        GroupLayout.DEFAULT_SIZE,
                                        Short.MAX_VALUE)).addContainerGap()));

        pack();
    }
    
    private void inicializarListeners(){
        
        selecionadorDeArquivo.addMouseListener(new MouseAdapter() {           
            public void mouseClicked(MouseEvent e){
                editorAtributos.addDocumento(docJudDB.getDocJud((String) selecionadorDeArquivo.getSelectedValue()));
            }
        });
        
        
    }
       
    
}
